class code5 {
    public boolean checkInclusion(String s1, String s2) {
        //特殊情况
        if(s1.length() > s2.length()) return false;

        int[] count = new int[26];

        //初始化滑动窗口
        for(int i=0;i<s1.length();i++) {
            count[s1.charAt(i)-'a']++;
            count[s2.charAt(i)-'a']--;
        }
        if(AllZero(count)) return true;

        for(int i=s1.length();i<s2.length();i++) {
            //进窗口
            count[s2.charAt(i)-'a']--;
            //出窗口
            count[s2.charAt(i-s1.length())-'a']++;
            if(AllZero(count)) return true;
        }
        return false;
    }
    public boolean AllZero(int[] arr) {
        for(int x:arr) {
            if(x != 0) return false;
        }
        return true;
    }
}